/**
 *
 */
package name.siman.test.maven;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.junit.Test;

/**
 * Shrek.
 *
 *
 *
 * @author siman.hu
 * @since 1.0
 * @time 2014年12月19日 下午1:29:32
 */
public class ParseResourceFile {
	@Test
	public void testGetResourceFile() throws Exception {
		String classPath = "conf/dnindex.properties";
		// String classPath = "dnindex.properties";

		// 这个问题折腾了好久，还好在下面文章找到了解决办法
		// http://www.mkyong.com/java/java-read-a-file-from-resources-folder/
		ClassLoader classLoader = this.getClass().getClassLoader();
		File file = new File(classLoader.getResource(classPath).getFile());
		InputStream is = new FileInputStream(file);

		// 以下是一些常见的用法，但无法读取到target/classes, target/test-classes下的资源文件
		// InputStream is = this.getClass().getResourceAsStream(classPath);
		// URL url = this.getClass().getResource(classPath);
		// InputStream is = new FileInputStream(FileUtils.toFile(url));
		Properties prop = new Properties();
		try {
			prop.load(is);
			String localhost2 = prop.getProperty("localhost2");
			System.out.println("localhost2: " + localhost2);
		} catch (IOException e) {
			throw new Exception(e);
		}
	}
}
